#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>
#include<sys/wait.h>

//int main(){
//	printf("commamd begin\n");
//	execl("/usr/bin/ls","ls",NULL);
//	printf("command end\n");
//	return 0;
//}








//int main(){
//	printf("我是父进程,我的pid:%d\n",getpid());
//	pid_t rid=fork();
//	if(rid<0) return 1;
//	if(rid==0){
//		//子进程
//		printf("command begin!!!\n");
//		char *const argv[]={
//			"ls",
//			"-a",
//			"-l",
//			"-i",
//			NULL
//		};
//		
//		execvp("ls",argv);
//		//如果替换成功了，后续代码不会被执行
//		printf("command end!!\n");
//		exit(-1);
//	}
//
//	//父进程
//	int  status=0;
//	int ret=waitpid(-1,&status,0);
//	if(ret==rid){
//		printf("子进程退出了，退出码:%d\n",(status>>8)&0xFF);
//		sleep(2);
//	}
//	return 0;
//}
//
//
int main(){

	pid_t  rid=fork();
	if(rid==0){
		printf("command begin!!!\n");
		//用C调用C++
		execl("./a.out","a.out",NULL);
		printf("command end!!!!\n");
	}
	
	waitpid(-1,NULL,0);
	return 0;
}
